(function () {
  const originalFetch = window.fetch;

  window.fetch = function (...args) {
    const url = args[0];
    if (url.includes("/stock")) {
      return originalFetch
        .apply(this, args)
        .then((response) => {
          return response
            .clone()
            .json()
            .then((data) => {
              if (Array.isArray(data) && data.length === 0) {
                console.log("返回的数据是空数组，已过滤");
              } else {
                console.log("响应数据:", data);
                if (data[0].price === 1 && data[0].stock === 1000) {
                  return;
                }

                // 连接 WebSocket 服务器
                const socket = new WebSocket("ws://localhost:8111");

                socket.onopen = () => {
                  // 将数据转换为 JSON 字符串
                  const jsonData = JSON.stringify(data);
                  // 发送数据到 WebSocket 服务器
                  socket.send(jsonData);
                  console.log("数据已发送到 WebSocket 服务器");
                };

                socket.onerror = (error) => {
                  console.error("WebSocket 连接失败:", error);
                };
              }
            });
        })
        .catch((error) => {
          console.error("请求失败:", error);
        });
    } else {
      return originalFetch.apply(this, args);
    }
  };
})();
